package com.wkbb.common.dto.basic;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author dengjingyuan
 * @date 2019-07-03 19:56
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class EmployeeInfoDto implements Serializable {

    @ApiModelProperty(value = "编号")
    private Long id;

    @ApiModelProperty(value = "组织ID")
    private Long orgId;

    @ApiModelProperty(value = "组织名称")
    private String orgName;

    @ApiModelProperty(value = "班级ID")
    private Long classId;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "1园长 2教师 3保育员 4 营养师 5代课教师 6其他")
    private Short userType;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "头像")
    private String headImgUrl;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "账号")
    private String account;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "省份CODE")
    private String provinceCode;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "城市CODE")
    private String cityCode;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "区镇CODE")
    private String areaCode;

    @ApiModelProperty(value = "区镇")
    private String area;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String addr;

    @ApiModelProperty(value = "卡号")
    private String cardNo;

    @ApiModelProperty(value = "用户编号")
    private String userCode;

    /**
     * 年龄
     */
    @ApiModelProperty(value = "年龄")
    private Short age;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    private String nationality;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    private String idcard;

    /**
     * 全拼
     */
    @ApiModelProperty(value = "全拼")
    private String speakName;

    @ApiModelProperty(value = "修改前所在学校组织ID")
    private Long oldOrgId;
/*
    @ApiModelProperty(value = "修改前1园长 2教师 3保育员 4 营养师 5代课教师 6其他")
    private Short oldUserType;*/

    /**
     * 生日
     */
    @ApiModelProperty(value = "生日")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 入职日期
     */
    @ApiModelProperty(value = "入职日期")
    @JSONField(format = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date enterDate;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 教工号
     */
    @ApiModelProperty(value = "教工号")
    private String jobNo;

    /**
     * 证书
     */
    @ApiModelProperty(value = "资格证书")
    private Object certificate;

    @ApiModelProperty(value = "组织架构Id")
    private Long structureId;

    @ApiModelProperty(value = "智慧校园组织架构Id")
    private String smartStructureId;

    @ApiModelProperty(value = "组织架构用户Id")
    private Long structureUserId;

    @ApiModelProperty(value = "岗位ID")
    private Long positionId;

    @ApiModelProperty(value = "岗位名称")
    private String positionName;

    @ApiModelProperty(value = "智慧校园用户ID")
    private String smartUserId;

    @ApiModelProperty(value = "智慧校园用户微信ID")
    private String smartWxUserId;

    @ApiModelProperty(value = "是否已关注智慧校园公众号1是0否")
    private Boolean isSmartSubscribe;

    @ApiModelProperty(value = "原用户类型(1园长 2教师 3保育员 4 营养师 5代课教师 6其他)")
    private Short oriUserType;

    @ApiModelProperty(value = "原来职务名称")
    private String oriPositionName;

    @ApiModelProperty(value = "服务区域ID列表多个,分隔")
    private String serviceAreaIds;
}
